package com.example.aviator;

import com.googlecode.aviator.AviatorEvaluator;
import com.googlecode.aviator.Expression;

import java.util.HashMap;
import java.util.Map;

public class Rule {

    public static void main(String[] args) {
        // 创建一个发送规则的表达式 实际项目中存放到数据库或者缓存当中
        String expression = "(age > 35 && age < 75) && avgYearConsume > 10000 && customLevel == 1";

        // 编译表达式
        Expression compiledExp = AviatorEvaluator.compile(expression, true);

        // 设置变量
        Map<String, Object> env = new HashMap<>();
        // 年龄
        env.put("age", 40);
        // 客户等级
        env.put("customLevel", 2);
        // 平均年消费金额
        env.put("avgYearConsume", 20000);

        // 执行表达式
        System.out.println(compiledExp.execute(env));


    }

}
